<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>初始化 state - 紫霞仙子</title>
</head>
<body>
    <div id="root"> </div>

    <script src="../js/react.development.js"></script>
    <script src="../js/react-dom.development.js"></script>
    <script src="../js/babel.min.js"></script>

    <script type="text/babel">
        //数据仓库   => state
        // let data = {
        //     isNight: true // 是否是晚上
        // }

        class App extends React.Component {
            //1. 构造方法中使用 this     若数据比较复杂, 建议使用第一种
            // constructor() {
            //     //调用 super 
            //     super(); //这里用来调用父类的构造方法
            //     //初始化 state 属性
            //     this.state = {
            //         isNight : true
            //     }
            // }

            //2. 为对象进行 state 复制.  若数据比较简单, 建议使用第二种
            state = {
                isNight: false
            }

            render(){
                //获取 isNight 的值    这里的 this 是指向实例对象的.
                // let isNight = this.state.isNight;
                let {isNight} = this.state; //解构赋值
                return <div>
                        <h2>至尊宝, 我是 {isNight ? '青霞' : '紫霞'} 仙子</h2>
                    </div>
            }
        }

        ReactDOM.render(<App />, document.getElementById('root'));

    </script>
</body>
</html>